יש לתכנן מבנה נתונים לצורך העניין שומר int-ים עם שלושה פונקציות.
הראשונה getElement(int index) אשר מחזירה איבר במקום index בזמן ריצה של O(1).
הפונקציה השנייה updateElement(int index, int value) אשר מעדכנן את האיבר במקום ה-index גם פונקציה זו צריכה לרוץ בזמן ריצה של O(1).
פונקציה שלישית setAll(int value) מעדכנת את כל האיברים לערך value בזמן ריצה של O(1).
רמז- לשים לב מה קורה אם קודם עושים setAll ואז updateElement ולהפך.
ריאיון נוסף עם ראש צוות לאחר שעברתי ריאיון קודם עם ראש צוות.
שאלות מתוך הראיון
הכרות עצמית, קצת שאלות על פרויקטים שהצגתי. שאלות נוספות כמו מה עשיתי כשנתקעתי, איך נמדדת הצלחה בעיניי, איך עבדתי ביחד בקבוצה, אחרי שעברת training איך אתה ממשיך הלאה.
בקטע של השאלות המקצועיות, שאלה ראשונה, נתון ביטוי מתמטי עם סוגריים ')', '(' וצריך לבדוק אם הכמות סוגריים נכונה, להחזיר true false.
שאלה שניה, מעט מורכבת, נתון מערך לדוגמא [a,b,c] , צריך להדפיס את כל תתי הקבוצות שניתן ליצור ממערך זה.
שאלה ראשונה נתונה רשימת אינטרוולים, צריך לאחד אינטרוולים חופפים, לדוגמא {1,3} ו-{2,4} צריך לאחד ל-{1,4}.
שאלה שנייה, להציע מבנה נתונים שיאפשר זיהוי Ddos, כך שאם היו יותר מ100 בקשות בדקה, צריך להחזיר true, אחרת false. זאת אומרת יש פונקציה isDdos שמקבלת כתובת IP וצריך להחזיר האם מכתובת האייפי הזו הגיעו יותר מ100 בקשות בדקה.
שאלה שלישית להציע מבנה נתונים כך שיאפשר push, pop, getMax בסיבוכיות של O(1).
תשובות
הוסף תשובה
|
לצפיה בתשובות
דצמבר 2021
שאלה שלישית:
לממש בצורה של רשימה מקושרת עם משתנה במחלקה בשם MIN וכל איבר ברשימה מצביע לאיבר הבא ולמינימום שהיה לפני שהוא הוכנס לרשימה
PUSH - הכנסת איבר חדש לראש התור ועידכון המינימום במקרה וזה קטן המינימום הנוכחי
POP - הוצאת האיבר מראש הרשימה ועידכון המינימום (במקרה והאיבר הזה הוא המינימום) למינימום שהיה לפני האיבר הוכנס לרשימה
MIN - החזרת המשתנה מינימום
מבחן קודיליטי כזה, ואז הגעתי לראיון בזום מול הראש צוות.
שאלות מתוך הראיון
ראיון הזוי ביותר- שאלה ראשונה קבלת מספר, והדפסת כל המספרים אליו באופן רנדומלי.
שאלה שנייה- הביא לי ציור של מערכת עם צד לקוח שמקבל סטרינג ומעביר אותו לצד שרת ומאחסן בhash table, השאלה הייתה מה הפרצות אבטחה במערכת.
לכו תבינו.
עוסקת בפיתוח תוכנה לאבטחת מידע - תוכנות חומת אש ו־VPN.בסיסה הבינלאומי נמצא ברדווד סיטי, קליפורניה, ומרכזי הפיתוח נמצאים בתל אביב ובבלארוס.החברה נוסדה בשנת 1993 על ידי שלמה קרמר, מריוס נכט וגיל שוויד.